package com.goldgov.notice.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.goldgov.notice.service.ConferenceNoticeBean;
import com.goldgov.notice.service.Notice;
import com.goldgov.notice.service.NoticeBean;
import com.goldgov.notice.service.NoticeQuery;

@Mapper
public interface NoticeDao {

	/**
	 * 获取通知公告列表
	 * @param query
	 * @return
	 */
	List<Notice> getNoticeList(@Param("query") NoticeQuery query);
	
	/**
	 * 获取收到的通知公告列表
	 * @param query
	 * @return
	 */
	List<Notice> getNoticeReceivedList(@Param("query") NoticeQuery query);
	/**
	 * 获取收到的通知公告列表
	 * @param query
	 * @return
	 */
	List<Notice> findNoticeListByUserId(@Param("query") NoticeQuery query);
	
	/**
	 * 根据id查询通知公告
	 * @param noticeID
	 * @return
	 */
	Notice getNotice(String noticeID);
	
	/**
	 * 根据id查询通知公告
	 * @param noticeID
	 * @return
	 */
	Notice getNoticeById(String noticeID);
	
	/**
	 * 添加通知公告
	 * @param Notice
	 */
	int addNotice(Notice notice);
	
	/**
	 * 修改通知公告
	 * @param Notice
	 */
	int updateNotice(Notice notice);
	
	int deleteNotice(@Param("ids")String[] ids);
	
	List<Notice> getNoticeListFull(@Param("query") NoticeQuery query);
	
	//移动端接口
	/**
	 * 移动端获取会议详情
	 * @date 2018年8月28日 下午1:23:05 
	 * @author hanxiangyu
	 * @param query
	 * @return
	 */
	List<Notice> getNoticeListFullReceive(@Param("query") NoticeQuery query);
	/**
	 * 获取未读数
	 * @date 2018年8月28日 下午1:23:23 
	 * @author hanxiangyu
	 * @param receiveUserID
	 * @return
	 */
	int getUnreadNum(@Param("receiveUserID")String receiveUserID);
	/**
	 * 根据id查询详情
	 * @date 2018年8月28日 下午1:23:35 
	 * @author hanxiangyu
	 * @param noticeID
	 * @return
	 */
	NoticeBean findNoticeById(@Param("noticeID")String noticeID,@Param("userID")String userID);
	
	
	
	/**
	 * 获取会议信息
	 * @date 2018年7月3日 下午4:44:33 
	 * @author hanxiangyu
	 * @param conferenceId
	 * @return
	 */
	ConferenceNoticeBean getConferenceById(@Param("conferenceId") String conferenceId);
	/**
	 * 获取远程教育
	 * @date 2018年7月3日 下午4:44:33 
	 * @author hanxiangyu
	 * @param conferenceId
	 * @return
	 */
	ConferenceNoticeBean getDisById(@Param("disId") String disId);
	
}
